home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / SecalDemo / Inc / devices / cd.inc < prev    next >
Text File  |  1998-06-24  |  3KB  |  190 lines

  1. include "inc/exec/types.inc";
  2. include "inc/exec/nodes.inc";
  3.  
  4. def CD_RESET = 1;
  5. def CD_READ = 2;
  6. def CD_WRITE = 3;
  7. def CD_UPDATE = 4;
  8. def CD_CLEAR = 5;
  9. def CD_STOP = 6;
  10. def CD_START = 7;
  11. def CD_FLUSH = 8;
  12. def CD_MOTOR = 9;
  13. def CD_SEEK = 10;
  14. def CD_FORMAT = 11;
  15. def CD_REMOVE = 12;
  16. def CD_CHANGENUM = 13;
  17. def CD_CHANGESTATE = 14;
  18. def CD_PROTSTATUS = 15;
  19.  
  20. def CD_GETDRIVETYPE = 18;
  21. def CD_GETNUMTRACKS = 19;
  22. def CD_ADDCHANGEINT = 20;
  23. def CD_REMCHANGEINT = 21;
  24. def CD_GETGEOMETRY = 22;
  25. def CD_EJECT = 23;
  26.  
  27. def CD_INFO = 32;
  28. def CD_CONFIG = 33;
  29. def CD_TOCMSF = 34;
  30. def CD_TOCLSN = 35;
  31.  
  32. def CD_READXL = 36;
  33.  
  34. def CD_PLAYTRACK = 37;
  35. def CD_PLAYMSF = 38;
  36. def CD_PLAYLSN = 39;
  37. def CD_PAUSE = 40;
  38. def CD_SEARCH = 41;
  39.  
  40. def CD_QCODEMSF = 42;
  41. def CD_QCODELSN = 43;
  42. def CD_ATTENUATE = 44;
  43.  
  44. def CD_ADDFRAMEINT = 45;
  45. def CD_REMFRAMEINT = 46;
  46.  
  47. def CDERR_OPENFAIL = (-1);
  48. def CDERR_ABORTED = (-2);
  49. def CDERR_NOCMD = (-3);
  50. def CDERR_BADLENGTH = (-4);
  51. def CDERR_BADADDRESS = (-5);
  52. def CDERR_UNITBUSY = (-6);
  53. def CDERR_SELFTEST = (-7);
  54.  
  55. def CDERR_NotSpecified = 20;
  56. def CDERR_NoSecHdr = 21;
  57. def CDERR_BadSecPreamble = 22;
  58. def CDERR_BadSecID = 23;
  59. def CDERR_BadHdrSum = 24;
  60. def CDERR_BadSecSum = 25;
  61. def CDERR_TooFewSecs = 26;
  62. def CDERR_BadSecHdr = 27;
  63. def CDERR_WriteProt = 28;
  64. def CDERR_NoDisk = 29;
  65. def CDERR_SeekError = 30;
  66. def CDERR_NoMem = 31;
  67. def CDERR_BadUnitNum = 32;
  68. def CDERR_BadDriveType = 33;
  69. def CDERR_DriveInUse = 34;
  70. def CDERR_PostReset = 35;
  71. def CDERR_BadDataType = 36;
  72. def CDERR_InvalidState = 37;
  73.  
  74. def CDERR_Phase = 42;
  75. def CDERR_NoBoard = 50;
  76.  
  77. def TAGCD_PLAYSPEED = $0001;
  78. def TAGCD_READSPEED = $0002;
  79. def TAGCD_READXLSPEED = $0003;
  80. def TAGCD_SECTORSIZE = $0004;
  81. def TAGCD_XLECC = $0005;
  82. def TAGCD_EJECTRESET = $0006;
  83.  
  84. struct CDInfo is
  85.   PlaySpeed:uword;
  86.   ReadSpeed:uword;
  87.   ReadXLSpeed:uword;
  88.   SectorSize:uword;
  89.   XLECC:uword;
  90.   EjectReset:uword;
  91.   Reserved1[4]:uword;
  92.   MaxSpeed:uword;
  93.   AudioPrecision:uword;
  94.   Status:uword;
  95.   Reserved2[4]:uword;
  96. ;
  97.  
  98. def CDSTSB_CLOSED = 0;
  99. def CDSTSB_DISK = 1;
  100. def CDSTSB_SPIN = 2;
  101. def CDSTSB_TOC = 3;
  102. def CDSTSB_CDROM = 4;
  103. def CDSTSB_PLAYING = 5;
  104. def CDSTSB_PAUSED = 6;
  105. def CDSTSB_SEARCH = 7;
  106. def CDSTSB_DIRECTION = 8;
  107.  
  108. def CDSTSF_CLOSED = $0001;
  109. def CDSTSF_DISK = $0002;
  110. def CDSTSF_SPIN = $0004;
  111. def CDSTSF_TOC = $0008;
  112. def CDSTSF_CDROM = $0010;
  113. def CDSTSF_PLAYING = $0020;
  114. def CDSTSF_PAUSED = $0040;
  115. def CDSTSF_SEARCH = $0080;
  116. def CDSTSF_DIRECTION = $0100;
  117.  
  118. def CDMODE_NORMAL = 0;
  119. def CDMODE_FFWD = 1;
  120. def CDMODE_FREV = 2;
  121.  
  122. struct RMSF is
  123.   Reserved:ubyte;
  124.   Minute:ubyte;
  125.   Second:ubyte;
  126.   Frame:ubyte;
  127. ;
  128.  
  129. union LSNMSF is
  130.   MSF:RMSF;
  131.   LSN:ulong;
  132. ;
  133.  
  134. struct CDXL is
  135.   Node:MinNode;
  136.   Buffer:ulong;
  137.   Length:long;
  138.   Actual:long;
  139.   IntData:ulong;
  140.   IntCode:ulong;
  141. ;
  142.  
  143. struct TOCSummary is
  144.   FirstTrack:ubyte;
  145.   LastTrack:ubyte;
  146.   LeadOut:LSNMSF;
  147. ;
  148.  
  149. struct TOCEntry is
  150.   CtlAdr:ubyte;
  151.   Track:ubyte;
  152.   Position:LSNMSF;
  153. ;
  154.  
  155. union CDTOC is
  156.   Summary:TOCSummary;
  157.   Entry:TOCEntry;
  158. ;
  159.  
  160. struct QCode is
  161.   CtlAdr:ubyte;
  162.   Track:ubyte;
  163.   Index:ubyte;
  164.   Zero:ubyte;
  165.   TrackPosition:LSNMSF;
  166.   DiskPosition:LSNMSF;
  167. ;
  168.  
  169. def CTLADR_CTLMASK = $f0;
  170.  
  171. def CTL_CTLMASK = $d0;
  172.  
  173. def CTL_2AUD = $00;
  174. def CTL_2AUDEMPH = $10;
  175. def CTL_4AUD = $80;
  176. def CTL_4AUDEMPH = $90;
  177. def CTL_DATA = $40;
  178.  
  179. def CTL_COPYMASK = $20;
  180.  
  181. def CTL_COPY = $20;
  182.  
  183. def CTLADR_ADRMASK = $0f;
  184.  
  185. def ADR_POSITION = $01;
  186. def ADR_UPC = $02;
  187. def ADR_ISRC = $03;
  188. def ADR_HYBRID = $05;
  189.  
  190.